import { createRouter, createWebHashHistory } from 'vue-router'
// 导入页面配置
import { routes } from './routes'
import { useUserStore } from '@/stores/index'
const router = createRouter({
  // vue2 =>  mode:'hash'|'history'
  // vue3 =>  history

  // import.meta.env.BASE_URL 环境变量，vite.config.ts中的base字段
  // 场景：项目没有部署到服务器root目录，而是部署到root下某个文件夹下
  // 这时候需要在vite.config.ts中配置=>base:'/root/project/'
  // 1. history模式
  // history: createWebHistory(import.meta.env.BASE_URL),
  // 2. hash模式
  history: createWebHashHistory(import.meta.env.BASE_URL),
  // 路由配置
  routes
})
router.beforeEach((to) => {
  // 处理标题
  document.title = `优医问诊-${to.meta.title || ''}`
  // 用户仓库
  const store = useUserStore()
  // 白名单
  const vips = ['/login', '/reg']

  if (!store.user.token && !vips.includes(to.path)) {
    // 阻止访问并跳回登录页
    return '/login'
  }
})

export default router
